#ifndef __M__WORKER_H_
#define __M__WORKER_H_

#include "../mqCommon/Helper.hpp"
#include "../mqCommon/Logger.hpp"
#include "../mqCommon/proto/mq_message.pb.h"
#include "../mqCommon/threadPool.hpp"
#include "../third/muduo/include/muduo/net/EventLoopThread.h"

#include <iostream>
#include <unordered_map>
#include <memory>
#include <mutex>
#include <vector>
#include <functional>

using namespace mq_message;
using namespace mq;
using namespace std;

namespace mq
{
    // 异步工作线程：
    // 1.客户端连接IO事件监控的异步线程
    // 2.收到响应时（基础响应/推送消息）时进行处理的异步线程
    struct AsyncWorker
    {
        using ptr = shared_ptr<AsyncWorker>;

        muduo::net::EventLoopThread loopthread;
        ThreadPool tpool;
        AsyncWorker()
        {
        }
    };
}

#endif